package test;


import test.LinkedListText;

import java.sql.Connection;
import java.util.*;

public class Demo {
    public static void main(String[] args)throws Exception{
//单向链表测试--------------
/*
        LinkedListText i = new LinkedListText();
        i.add("这是第一个元素");
        i.add("这是第二个元素");
        i.add("这是第三个元素");
        i.add("这是第四个元素");
        i.add("这是第五个元素");
        i.add("这是第六个元素");
        for(int j=0;j<i.size();j++){
            System.out.println(i.get(j));
        }
        System.out.println("---------------");
        //i.remove("这是第三个元素");
        for(int j=0;j<i.size();j++){
            System.out.println(i.get(j)+"");
        }
        System.out.println("---------------");
        //反向链表
        i.reverse();
        for(int j=0;j<i.size();j++){
            System.out.println( i.get(j)+"");
        }
        System.out.println("---------------");


*/

//稀疏数组---------------------------
        //稀疏数组测试
/*
        int[][] array = new int[8][7];
        array[4][5]=777;
        array[1][6]=777;
        array[2][6]=777;

        SparseArraytest sp = new SparseArraytest(array);
        int [][]spArray=sp.sparseArray;
        for(int j[]:array){
            for (int k:j){
                System.out.print(k+"\t");
            }
            System.out.println("\t");
        }
        System.out.println("---------稀疏素组遍历--------");
        for(int j[]:spArray){
            for (int k:j){
                System.out.print(k+"\t");
            }
            System.out.println("\t");
        }
*/
//队列测试--------------------
/*
        Queue2 i2 = new Queue2(5);
        while(true){
            Scanner sc = new Scanner(System.in);
            int j =sc.nextInt();
            if(j==1){
                //添加
                System.out.println("1添加请输入值");
                i2.add(sc.next());
                System.out.println("添加成功"+"当前队列为"+i2.getLength());
                continue;
            }
            else if(j==2){
                //删除
                System.out.println("2删除");
                i2.delect();
                System.out.println("删除成功"+"当前队列为"+i2.getLength());
                continue;
            }
            else if(j==3){
                //查看
                System.out.println("3查看");
                i2.show();

            }
        }

*/
//双向链表
       /* DoubleLinkedList a = new DoubleLinkedList();
        a.add("这是第一个数据");
        a.add("这是第二个数据");
        a.add("这是第三个数据");
        a.add("这是第四个数据");
        a.add("这是第五个数据");
        a.remove("这是第三个数据");
        a.add("这是第6个数据");
        a.allQuery();*/
//单向环形链表
        /*
        RingTypeLinkedList ringType=new RingTypeLinkedList();
        ringType.add("这是第一个数据");
        ringType.add("这是第二个数据");
        ringType.add("这是第三个数据");
        ringType.add("这是第四个数据");
        ringType.add("这是第五个数据");
        ringType.show();
        System.out.println("----------------");
        ringType.delect(0,7);
        ringType.show();
        ringType.delect(0,7);
        System.out.println("----------------");

        ringType.show();
        */
        //-----------------------------------------------------------------
        /*
        ReversePolishNotation re=new ReversePolishNotation();
        ArrayList<String> arrayList=re.getCalculationExpression("15*(3+45)-7");
        for(String i :arrayList){
            System.out.println(i);
        }
        */
        /*
        //BUG待修改
        Stack st=new Stack(50);
        st.getResult("1*5-7+8");
*/
        //算法-----中缀表达式转后缀表达式
        /*
        ReversePolishNotation re=new ReversePolishNotation();
        ArrayList<String> value = re.reversePolishNotation("1*5-(6*8-5/5)*5");
        System.out.println(value);
*/
//-----迷宫回溯（算法）----
/*
        Maze ma =new Maze();
        ma.show();
        ma.setWay(ma.array,1,1);
        System.out.println("-----------");
        ma.show();
*/
//hash表测试
/*
        HashTable hashTable=new HashTable();
        hashTable.add("key","value");
        hashTable.add("key2","value修改");
        hashTable.showAll();
*/
//二叉树测试
        /*
        BinaryTree tree = new BinaryTree();
        tree.add(10,"10");
        tree.add(7,"7");
        tree.add(6,"6");
        tree.add(5,"5");
        tree.add(9,"9");
        tree.add(8,"8");

        tree.add(5,"5");
        tree.add(4,"4");
        tree.show();
        */
        Map <String,String> map = new HashMap<>();
        map.put("key","value");
        Set set = map.keySet();
        Set con = map.entrySet();
        for(Map.Entry<String,String> entry:map.entrySet()){
            entry.getValue();
            entry.getKey();

        }


    }
}
